/* The file is saved in UTF-8 codepage.
 * Check: «Stereotype», Section mark-§, Copyright-©, Alpha-α, Beta-β, Smile-☺
 */
package cz.pecinovsky.english.lootp.shapes;



////////////////////////////////////////////////////////////////////////////////
//%%+  +++++ End of ignored starting test - place for imports +++++

//%X+ xxxxx Start of the ovejumped text with declaration of the envelope xxxxx
/*******************************************************************************
 *<pre>
 * Previous:  No - this is a newly defined type
 * Following: No
 *
 * Project  112z - Introduction into design patterns
 *   + Introduction of this interface
 *
 * Project  113z - Inheritance of interfaces
 *   ~ The interfaci is defined as a child of the interface {@link IPaintable}
 *</pre>
 *
 * @author Rudolf PECINOVSKÝ
 * @version 6.03.2017 — 2010-11-08
 */
////////////////////////////////////////////////////////////////////////////////
//%X- ----- End of the ovejumped text with declaration of the envelope -----


/*******************************************************************************
 * Instances of interface {@code IMoveable} represents geometrical shapes
 * that can reveal and set their position.
 * The position of a shape is defined as the position
 * of the upper left corner of its circumscribe rectangle.
 *
 * @author Rudolf PECINOVSKÝ
 * @version 6.03.2017 — 2010-11-08
 */
//%I+ <113
//public interface IMoveable
//%I-
//%A+ >113
public interface IMoveable extends IPaintable
//%A-
{
//== CONSTANT CLASS ATTRIBUTES =================================================
//== VARIABLE CLASS ATTRIBUTES =================================================

    /***************************************************************************
     * Returns the horizontal coordinate.
     * The position of a shape is defined as the position
     * of the upper left corner of its circumscribe rectangle.
     *
     * @return  The horizontal coordinate,
     *          left canvas border has x=0, coordinate increases to the right
     */
//     @Override
    public int getX();


    /***************************************************************************
     * Returns the vertical coordinate.
     * The position of a shape is defined as the position
     * of the upper left corner of its circumscribe rectangle.
     *
     * @return  The vertical coordinate,
     *          upper canvas border has y=0, coordinate increases to the down
     */
//     @Override
    public int getY();


    /***************************************************************************
     * Set a new position of the instance.
     * The position of a shape is defined as the position
     * of the upper left corner of its circumscribe rectangle.
     *
     * @param x  The newly set horizontal coordinate,
     *           left canvas border has x=0, coordinate increases to the right
     * @param y  The newly set vertical coordinate,
     *           upper canvas border has y=0, coordinate increases to the down
     */
//     @Override
    public void setPosition(int x, int y);



//== INHERITED METHODS =========================================================
//== EMBEDDED DATA TYPES =======================================================
}
